/*
 * @Descripttion:
 * @Author: voanit
 * @Date: 2022-08-27 15:19:38
 * @LastEditors: voanit
 * @LastEditTime: 2022-08-27 18:02:13
 */
export default {
  state() {
    return {
      token: uni.getStorageSync('token') || null,
      userInfo: uni.getStorageSync('userInfo') || {},
    }
  },
  mutations: {
    setUserInfo(state, userInfo) {
      state.userInfo = userInfo
      //持久化
      uni.setStorageSync('userInfo', userInfo)
    },
    setToken(state, token) {
      state.token = token
      //持久化
      uni.setStorageSync('token', token)
    },
  },
  actions: {
    /* 
    目的：登录获取token
    1-获取用户信息  调用小程序api===获取4个参数
    2-需要使用微信  api   wx.login===获取code
    3-向自己的服务器发送请求实现登录获取toekn
    */
    async getTokenAction(context) {
      //  1-获取用户信息  调用小程序api===获取4个参数
      const [err, res] = await uni.getUserProfile({
        desc: '用于完善会员资料', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      })
      // console.log(context, 5566)
      context.commit('setUserInfo', res.userInfo)
      const { encryptedData, rawData, iv, signature } = res
      //  2-需要使用微信  api   wx.login===获取code
      const { code } = await wx.login()
      // console.log(res2, 555)
      // 3-向自己的服务器发送请求实现登录获取toek
      // const {
      //   data: {
      //     message: { token },
      //   },
      // } = await uni.$u.http.request({
      // 3-向自己的服务器发送请求实现登录获取toekn===大家走不通
      const res3 = await uni.$u.http.request({
        url: '/users/wxlogin',
        method: 'POST',
        data: {
          encryptedData,
          rawData,
          iv,
          signature,
          code,
        },
      })
      context.commit('setToken', res3.data.message.token)
    },
  },
  getters: {},
  namespaced: true,
}

const obj = {
  list: [
    {
      id: 21223,
    },
  ],
}
